/*
 * Copyright (c) 2019-2020, Dmitry (DiSlord) dislordlive@gmail.com
 * All rights reserved.
 *
 * This is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 3, or (at your option)
 * any later version.
 *
 * The software is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with GNU Radio; see the file COPYING.  If not, write to
 * the Free Software Foundation, Inc., 51 Franklin Street,
 * Boston, MA 02110-1301, USA.
 */

#include <stdint.h>
#include "nanovna.h"

/*
 * Most font glyph have width 5 pixels
 * Check 0 byte of char bitmap data for get width
 */

#if 0
// Font definitions for header
#define FONT_START_CHAR   0x17
#define FONT_MAX_WIDTH       8
#define FONT_WIDTH           7
#define FONT_GET_HEIGHT     11
#define FONT_STR_HEIGHT     11
#define FONT_GET_DATA(ch)   (  &x7x11b_bits[(ch-FONT_START_CHAR)*FONT_GET_HEIGHT])
#define FONT_GET_WIDTH(ch)  (8-(x7x11b_bits[(ch-FONT_START_CHAR)*FONT_GET_HEIGHT]&7))
#endif

#define CHAR7x11_WIDTH_MASK 0x07
#define CHAR7x11_WIDTH_4px  0x04
#define CHAR7x11_WIDTH_5px  0x03
#define CHAR7x11_WIDTH_6px  0x02
#define CHAR7x11_WIDTH_7px  0x01
#define CHAR7x11_WIDTH_8px  0x00

#if FONT_START_CHAR!=0x17
#error "Need set correct offset in x5x7_bits font"
#endif

/* Font character bitmap data. */
const uint8_t x7x11b_bits[] =
{
#if 0
  /* Character 0 (0x00):
     width 7
     +-------+
     |       |
     | ***** |
     | ***** |
     | ***** |
     | ***** |
     | ***** |
     | ***** |
     | ***** |
     | ***** |
     | ***** |
     | ***** |
     +-------+ */
  0b00000000|CHAR7x11_WIDTH_7px,
  0b01111100,
  0b01111100,
  0b01111100,
  0b01111100,
  0b01111100,
  0b01111100,
  0b01111100,
  0b01111100,
  0b01111100,
  0b01111100,

  /* Character 1 (0x01):
     width 7
     +-------+
     |       |
     |       |
     |       |
     |       |
     |  **   |
     | ****  |
     |****** |
     | ****  |
     |  **   |
     |       |
     |       |
     +-------+ */
  0b00000000|CHAR7x11_WIDTH_7px,
  0b00000000,
  0b00000000,
  0b00000000,
  0b00110000,
  0b01111000,
  0b11111100,
  0b01111000,
  0b00110000,
  0b00000000,
  0b00000000,

  /* Character 2 (0x02):
     width 7
     +-------+
     |**  ** |
     |  **   |
     |**  ** |
     |  **   |
     |**  ** |
     |  **   |
     |**  ** |
     |  **   |
     |**  ** |
     |  **   |
     |**  ** |
     +-------+ */
  0b11001100|CHAR7x11_WIDTH_7px,
  0b00110000,
  0b11001100,
  0b00110000,
  0b11001100,
  0b00110000,
  0b11001100,
  0b00110000,
  0b11001100,
  0b00110000,
  0b11001100,

  /* Character 3 (0x03):
     width 7
     +-------+
     |** **  |
     |** **  |
     |*****  |
     |** **  |
     |** **  |
     |       |
     |  **** |
     |   **  |
     |   **  |
     |   **  |
     |   **  |
     +-------+ */
  0b11011000|CHAR7x11_WIDTH_7px,
  0b11011000,
  0b11111000,
  0b11011000,
  0b11011000,
  0b00000000,
  0b00111100,
  0b00011000,
  0b00011000,
  0b00011000,
  0b00011000,

  /* Character 4 (0x04):
     width 7
     +-------+
     |  **   |
     |  **   |
     |  **   |
     |  **   |
     |*******|
     |*******|
     |       |
     |       |
     |       |
     |       |
     |       |
     +-------+ */
  0b00110000|CHAR7x11_WIDTH_7px,
  0b00110000,
  0b00110000,
  0b00110000,
  0b11111110,
  0b11111110,
  0b00000000,
  0b00000000,
  0b00000000,
  0b00000000,
  0b00000000,

  /* Character 5 (0x05):
     width 7
     +-------+
     | ***   |
     |**     |
     |**     |
     |**     |
     | ***   |
     |       |
     |  ***  |
     |  ** * |
     |  ***  |
     |  ** * |
     |  ** * |
     +-------+ */
  0b01110000|CHAR7x11_WIDTH_7px,
  0b11000000,
  0b11000000,
  0b11000000,
  0b01110000,
  0b00000000,
  0b00111000,
  0b00110100,
  0b00111000,
  0b00110100,
  0b00110100,

  /* Character 6 (0x06):
     width 7
     +-------+
     |**     |
     |**     |
     |**     |
     |**     |
     |****   |
     |       |
     |  **** |
     |  **   |
     |  ***  |
     |  **   |
     |  **   |
     +-------+ */
  0b11000000|CHAR7x11_WIDTH_7px,
  0b11000000,
  0b11000000,
  0b11000000,
  0b11110000,
  0b00000000,
  0b00111100,
  0b00110000,
  0b00111000,
  0b00110000,
  0b00110000,

  /* Character 7 (0x07):
     width 7
     +-------+
     |       |
     | ****  |
     |**  ** |
     |**  ** |
     | ****  |
     |       |
     |       |
     |       |
     |       |
     |       |
     |       |
     +-------+ */
  0b00000000|CHAR7x11_WIDTH_7px,
  0b01111000,
  0b11001100,
  0b11001100,
  0b01111000,
  0b00000000,
  0b00000000,
  0b00000000,
  0b00000000,
  0b00000000,
  0b00000000,

  /* Character 8 (0x08):
     width 7
     +-------+
     |       |
     |  **   |
     |  **   |
     |****** |
     |****** |
     |  **   |
     |  **   |
     |       |
     |****** |
     |****** |
     |       |
     +-------+ */
  0b00000000|CHAR7x11_WIDTH_7px,
  0b00110000,
  0b00110000,
  0b11111100,
  0b11111100,
  0b00110000,
  0b00110000,
  0b00000000,
  0b11111100,
  0b11111100,
  0b00000000,

  /* Character 9 (0x09):
     width 7
     +-------+
     |**  ** |
     |*** ** |
     |****** |
     |** *** |
     |**  ** |
     |       |
     |  **   |
     |  **   |
     |  **   |
     |  **   |
     |  **** |
     +-------+ */
  0b11001100|CHAR7x11_WIDTH_7px,
  0b11101100,
  0b11111100,
  0b11011100,
  0b11001100,
  0b00000000,
  0b00110000,
  0b00110000,
  0b00110000,
  0b00110000,
  0b00111100,

  /* Character 10 (0x0a):
     width 7
     +-------+
     |**  ** |
     |**  ** |
     | *  *  |
     | ****  |
     |  **   |
     |       |
     |  **** |
     |   **  |
     |   **  |
     |   **  |
     |   **  |
     +-------+ */
  0b11001100|CHAR7x11_WIDTH_7px,
  0b11001100,
  0b01001000,
  0b01111000,
  0b00110000,
  0b00000000,
  0b00111100,
  0b00011000,
  0b00011000,
  0b00011000,
  0b00011000,

  /* Character 11 (0x0b):
     width 7
     +-------+
     |  **   |
     |  **   |
     |  **   |
     |  **   |
     |  **   |
     |****   |
     |****   |
     |       |
     |       |
     |       |
     |       |
     +-------+ */
  0b00110000|CHAR7x11_WIDTH_7px,
  0b00110000,
  0b00110000,
  0b00110000,
  0b00110000,
  0b11110000,
  0b11110000,
  0b00000000,
  0b00000000,
  0b00000000,
  0b00000000,

  /* Character 12 (0x0c):
     width 7
     +-------+
     |       |
     |       |
     |       |
     |       |
     |****   |
     |****   |
     |  **   |
     |  **   |
     |  **   |
     |  **   |
     |  **   |
     +-------+ */
  0b00000000|CHAR7x11_WIDTH_7px,
  0b00000000,
  0b00000000,
  0b00000000,
  0b11110000,
  0b11110000,
  0b00110000,
  0b00110000,
  0b00110000,
  0b00110000,
  0b00110000,

  /* Character 13 (0x0d):
     width 7
     +-------+
     |       |
     |       |
     |       |
     |       |
     |  *****|
     |  *****|
     |  **   |
     |  **   |
     |  **   |
     |  **   |
     |  **   |
     +-------+ */
  0b00000000|CHAR7x11_WIDTH_7px,
  0b00000000,
  0b00000000,
  0b00000000,
  0b00111110,
  0b00111110,
  0b00110000,
  0b00110000,
  0b00110000,
  0b00110000,
  0b00110000,

  /* Character 14 (0x0e):
     width 7
     +-------+
     |  **   |
     |  **   |
     |  **   |
     |  **   |
     |  *****|
     |  *****|
     |       |
     |       |
     |       |
     |       |
     |       |
     +-------+ */
  0b00110000|CHAR7x11_WIDTH_7px,
  0b00110000,
  0b00110000,
  0b00110000,
  0b00111110,
  0b00111110,
  0b00000000,
  0b00000000,
  0b00000000,
  0b00000000,
  0b00000000,

  /* Character 15 (0x0f):
     width 7
     +-------+
     |  **   |
     |  **   |
     |  **   |
     |  **   |
     |*******|
     |*******|
     |  **   |
     |  **   |
     |  **   |
     |  **   |
     |  **   |
     +-------+ */
  0b00110000|CHAR7x11_WIDTH_7px,
  0b00110000,
  0b00110000,
  0b00110000,
  0b11111110,
  0b11111110,
  0b00110000,
  0b00110000,
  0b00110000,
  0b00110000,
  0b00110000,

  /* Character 16 (0x10):
     width 7
     +-------+
     |       |
     |*******|
     |*******|
     |       |
     |       |
     |       |
     |       |
     |       |
     |       |
     |       |
     |       |
     +-------+ */
  0b00000000|CHAR7x11_WIDTH_7px,
  0b11111110,
  0b11111110,
  0b00000000,
  0b00000000,
  0b00000000,
  0b00000000,
  0b00000000,
  0b00000000,
  0b00000000,
  0b00000000,

  /* Character 17 (0x11):
     width 7
     +-------+
     |       |
     |       |
     |       |
     |*******|
     |*******|
     |       |
     |       |
     |       |
     |       |
     |       |
     |       |
     +-------+ */
  0b00000000|CHAR7x11_WIDTH_7px,
  0b00000000,
  0b00000000,
  0b11111110,
  0b11111110,
  0b00000000,
  0b00000000,
  0b00000000,
  0b00000000,
  0b00000000,
  0b00000000,

  /* Character 18 (0x12):
     width 7
     +-------+
     |       |
     |       |
     |       |
     |       |
     |       |
     |*******|
     |*******|
     |       |
     |       |
     |       |
     |       |
     +-------+ */
  0b00000000|CHAR7x11_WIDTH_7px,
  0b00000000,
  0b00000000,
  0b00000000,
  0b00000000,
  0b11111110,
  0b11111110,
  0b00000000,
  0b00000000,
  0b00000000,
  0b00000000,

  /* Character 19 (0x13):
     width 7
     +-------+
     |       |
     |       |
     |       |
     |       |
     |       |
     |       |
     |       |
     |*******|
     |*******|
     |       |
     |       |
     +-------+ */
  0b00000000|CHAR7x11_WIDTH_7px,
  0b00000000,
  0b00000000,
  0b00000000,
  0b00000000,
  0b00000000,
  0b00000000,
  0b11111110,
  0b11111110,
  0b00000000,
  0b00000000,

  /* Character 20 (0x14):
     width 7
     +-------+
     |       |
     |       |
     |       |
     |       |
     |       |
     |       |
     |       |
     |       |
     |       |
     |*******|
     |*******|
     +-------+ */
  0b00000000|CHAR7x11_WIDTH_7px,
  0b00000000,
  0b00000000,
  0b00000000,
  0b00000000,
  0b00000000,
  0b00000000,
  0b00000000,
  0b00000000,
  0b11111110,
  0b11111110,

  /* Character 21 (0x15):
     width 7
     +-------+
     |  **   |
     |  **   |
     |  **   |
     |  **   |
     |  *****|
     |  *****|
     |  **   |
     |  **   |
     |  **   |
     |  **   |
     |  **   |
     +-------+ */
  0b00110000|CHAR7x11_WIDTH_7px,
  0b00110000,
  0b00110000,
  0b00110000,
  0b00111110,
  0b00111110,
  0b00110000,
  0b00110000,
  0b00110000,
  0b00110000,
  0b00110000,

  /* Character 22 (0x16):
     width 7
     +-------+
     |  **   |
     |  **   |
     |  **   |
     |  **   |
     |****   |
     |****   |
     |  **   |
     |  **   |
     |  **   |
     |  **   |
     |  **   |
     +-------+ */
  0b00110000|CHAR7x11_WIDTH_7px,
  0b00110000,
  0b00110000,
  0b00110000,
  0b11110000,
  0b11110000,
  0b00110000,
  0b00110000,
  0b00110000,
  0b00110000,
  0b00110000,
#endif
// FONT_START_CHAR = 23
  /* Character 23 (0x17):
     width 8
     +-------+
     |       |
     |   *   |
     |   *   |
     |  ***  |
     |  ***  |
     | ** ** |
     | ** ** |
     |**   **|
     |**   **|
     |*******|
     |       |
     +-------+ */
  0b00000000|CHAR7x11_WIDTH_8px,
  0b00010000,
  0b00010000,
  0b00111000,
  0b00111000,
  0b01101100,
  0b01101100,
  0b11000110,
  0b11000110,
  0b11111110,
  0b00000000,

  /* Character 24 (0x18):
     width 5
     +-------+
     |       |
     |*      |
     |**     |
     |***    |
     |****   |
     |*****  |
     |****   |
     |***    |
     |**     |
     |*      |
     |       |
     +-------+ */
  0b00000000|CHAR7x11_WIDTH_5px,
  0b10000000,
  0b11000000,
  0b11100000,
  0b11110000,
  0b11111000,
  0b11110000,
  0b11100000,
  0b11000000,
  0b10000000,
  0b00000000,

  /* Character 25 (0x19):
     width 8
     +--------+
     |        |
     |        |
     | ** *** |
     |** ** **|
     |*  *   *|
     |*  **  *|
     |*   *  *|
     |** ** **|
     | *** ** |
     |        |
     |        |
     +--------+ */
  0b00000000|CHAR7x11_WIDTH_8px,
  0b00000000,
  0b01101110,
  0b11011011,
  0b10010001,
  0b10011001,
  0b10001001,
  0b11011011,
  0b01110110,
  0b00000000,
  0b00000000,

  /* Character 26 (0x1a):
     width 8
     +-------+
     |       |
     |       |
     |   *   |
     |  **   |
     | **    |
     |*******|
     |*******|
     | **    |
     |  **   |
     |   *   |
     |       |
     +-------+ */
  0b00000000|CHAR7x11_WIDTH_8px,
  0b00000000,
  0b00010000,
  0b00110000,
  0b01100000,
  0b11111110,
  0b11111110,
  0b01100000,
  0b00110000,
  0b00010000,
  0b00000000,

  /* Character 27 (0x1b):
     width 7
     +-------+
     |       |
     |       |
     |   *   |
     |   **  |
     |    ** |
     |*******|
     |*******|
     |    ** |
     |   **  |
     |   *   |
     |       |
     +-------+ */
  0b00000000|CHAR7x11_WIDTH_7px,
  0b00000000,
  0b00010000,
  0b00011000,
  0b00001100,
  0b01111110,
  0b01111110,
  0b00001100,
  0b00011000,
  0b00010000,
  0b00000000,

  /* Character 28 (0x1c):
     width 7
     +-------+
     |       |
     |       |
     |       |
     |       |
     |****** |
     | ** ** |
     | ** ** |
     | ** ** |
     |*** ** |
     |**  ** |
     |       |
     +-------+ */
  0b00000000|CHAR7x11_WIDTH_7px,
  0b00000000,
  0b00000000,
  0b00000000,
  0b11111100,
  0b01101100,
  0b01101100,
  0b01101100,
  0b11101100,
  0b11001100,
  0b00000000,

  /* Character 29 (0x1d):
     width 8
     +-------+
     |       |
     |       |
     |       |
     |       |
     |**   **|
     |**   **|
     |**   **|
     |**   **|
     |*** ***|
     |** * **|
     |**     |
     +-------+ */
  0b00000000|CHAR7x11_WIDTH_8px,
  0b00000000,
  0b00000000,
  0b00000000,
  0b11000110,
  0b11000110,
  0b11000110,
  0b11000110,
  0b11101110,
  0b11010110,
  0b11000000,

  /* Character 30 (0x1e):
     width 7
     +-------+
     |       |
     | ***** |
     |**   **|
     |**   **|
     |**   **|
     |**   **|
     |**   **|
     | ** ** |
     | ** ** |
     |*** ***|
     |       |
     +-------+ */
  0b00000000|CHAR7x11_WIDTH_8px,
  0b01111100,
  0b11000110,
  0b11000110,
  0b11000110,
  0b11000110,
  0b11000110,
  0b01101100,
  0b01101100,
  0b11101110,
  0b00000000,

  /* Character 31 (0x1f):
     width 6
     +-------+
     |       |
     | ***   |
     |** **  |
     |** **  |
     | ***   |
     |       |
     |       |
     |       |
     |       |
     |       |
     |       |
     +-------+ */
  0b00000000|CHAR7x11_WIDTH_6px,
  0b01110000,
  0b11011000,
  0b11011000,
  0b01110000,
  0b00000000,
  0b00000000,
  0b00000000,
  0b00000000,
  0b00000000,
  0b00000000,

  /* Character 32 (0x20):
     width 4
     +-------+
     |       |
     |       |
     |       |
     |       |
     |       |
     |       |
     |       |
     |       |
     |       |
     |       |
     |       |
     +-------+ */
  0b00000000|CHAR7x11_WIDTH_4px,
  0b00000000,
  0b00000000,
  0b00000000,
  0b00000000,
  0b00000000,
  0b00000000,
  0b00000000,
  0b00000000,
  0b00000000,
  0b00000000,

  /* Character 33 (0x21):
     width 4
     +-------+
     |       |
     |  **   |
     |  **   |
     |  **   |
     |  **   |
     |  **   |
     |  **   |
     |       |
     |  **   |
     |  **   |
     |       |
     +-------+ */
  0b00000000|CHAR7x11_WIDTH_4px,
  0b01100000,
  0b01100000,
  0b01100000,
  0b01100000,
  0b01100000,
  0b01100000,
  0b00000000,
  0b01100000,
  0b01100000,
  0b00000000,

  /* Character 34 (0x22):
     width 6
     +-------+
     |       |
     |** **  |
     |** **  |
     |** **  |
     |       |
     |       |
     |       |
     |       |
     |       |
     |       |
     |       |
     +-------+ */
  0b00000000|CHAR7x11_WIDTH_6px,
  0b11011000,
  0b11011000,
  0b11011000,
  0b00000000,
  0b00000000,
  0b00000000,
  0b00000000,
  0b00000000,
  0b00000000,
  0b00000000,

  /* Character 35 (0x23):
     width 6
     +-------+
     |       |
     | * *   |
     | * *   |
     |*****  |
     |*****  |
     | * *   |
     |*****  |
     |*****  |
     | * *   |
     | * *   |
     |       |
     +-------+ */
  0b00000000|CHAR7x11_WIDTH_6px,
  0b01010000,
  0b01010000,
  0b11111000,
  0b11111000,
  0b01010000,
  0b11111000,
  0b11111000,
  0b01010000,
  0b01010000,
  0b00000000,

  /* Character 36 (0x24):
     width 8
     +-------+
     |       |
     |  **   |
     | ***** |
     |* **   |
     |* **   |
     | ****  |
     |  ** * |
     |  ** * |
     |*****  |
     |  **   |
     |       |
     +-------+ */
  0b00000000|CHAR7x11_WIDTH_8px,
  0b00110000,
  0b01111100,
  0b10110000,
  0b10110000,
  0b01111000,
  0b00110100,
  0b00110100,
  0b11111000,
  0b00110000,
  0b00000000,

  /* Character 37 (0x25):
     width 8
     +-------+
     | **    |
     |*  *  *|
     |*  * **|
     | ** ** |
     |   **  |
     |  **   |
     | ** ** |
     |** *  *|
     |*  *  *|
     |    ** |
     |       |
     +-------+ */
  0b01100000|CHAR7x11_WIDTH_8px,
  0b10010010,
  0b10010110,
  0b01101100,
  0b00011000,
  0b00110000,
  0b01101100,
  0b11010010,
  0b10010010,
  0b00001100,
  0b00000000,

  /* Character 38 (0x26):
     width 8
     +-------+
     |       |
     | ***   |
     |** **  |
     |** **  |
     | ***   |
     | ***  *|
     |** *** |
     |**  ** |
     |** *** |
     | ***  *|
     |       |
     +-------+ */
  0b00000000|CHAR7x11_WIDTH_8px,
  0b01110000,
  0b11011000,
  0b11011000,
  0b01110000,
  0b01110010,
  0b11011100,
  0b11001100,
  0b11011100,
  0b01110010,
  0b00000000,

  /* Character 39 (0x27):
     width 5
     +-------+
     |       |
     | ***   |
     | ***   |
     | **    |
     |**     |
     |       |
     |       |
     |       |
     |       |
     |       |
     |       |
     +-------+ */
  0b00000000|CHAR7x11_WIDTH_5px,
  0b01110000,
  0b01110000,
  0b01100000,
  0b11000000,
  0b00000000,
  0b00000000,
  0b00000000,
  0b00000000,
  0b00000000,
  0b00000000,

  /* Character 40 (0x28):
     width 5
     +-------+
     |       |
     |  **   |
     | **    |
     | **    |
     |**     |
     |**     |
     |**     |
     | **    |
     | **    |
     |  **   |
     |       |
     +-------+ */
  0b00000000|CHAR7x11_WIDTH_5px,
  0b00110000,
  0b01100000,
  0b01100000,
  0b11000000,
  0b11000000,
  0b11000000,
  0b01100000,
  0b01100000,
  0b00110000,
  0b00000000,

  /* Character 41 (0x29):
     width 5
     +-------+
     |       |
     |**     |
     | **    |
     | **    |
     |  **   |
     |  **   |
     |  **   |
     | **    |
     | **    |
     |**     |
     |       |
     +-------+ */
  0b00000000|CHAR7x11_WIDTH_5px,
  0b11000000,
  0b01100000,
  0b01100000,
  0b00110000,
  0b00110000,
  0b00110000,
  0b01100000,
  0b01100000,
  0b11000000,
  0b00000000,

  /* Character 42 (0x2a): '*'
     width 7
     +-------+
     |       |
     |       |
     |       |
     |  *    |
     |* * *  |
     | ***   |
     |* * *  |
     |  *    |
     |       |
     |       |
     |       |
     +-------+ */
  0b00000000|CHAR7x11_WIDTH_7px,
  0b00000000,
  0b00000000,
  0b00100000,
  0b10101000,
  0b01110000,
  0b10101000,
  0b00100000,
  0b00000000,
  0b00000000,
  0b00000000,

  /* Character 43 (0x2b):
     width 7
     +-------+
     |       |
     |       |
     |       |
     |  **   |
     |  **   |
     |****** |
     |****** |
     |  **   |
     |  **   |
     |       |
     |       |
     +-------+ */
  0b00000000|CHAR7x11_WIDTH_7px,
  0b00000000,
  0b00000000,
  0b00110000,
  0b00110000,
  0b11111100,
  0b11111100,
  0b00110000,
  0b00110000,
  0b00000000,
  0b00000000,

  /* Character 44 (0x2c):
     width 4
     +-------+
     |       |
     |       |
     |       |
     |       |
     |       |
     |       |
     |       |
     | *     |
     |***    |
     | **    |
     |**     |
     +-------+ */
  0b00000000|CHAR7x11_WIDTH_4px,
  0b00000000,
  0b00000000,
  0b00000000,
  0b00000000,
  0b00000000,
  0b00000000,
  0b01000000,
  0b11100000,
  0b01100000,
  0b11000000,

  /* Character 45 (0x2d):
     width 7
     +-------+
     |       |
     |       |
     |       |
     |       |
     |       |
     |****** |
     |****** |
     |       |
     |       |
     |       |
     |       |
     +-------+ */
  0b00000000|CHAR7x11_WIDTH_7px,
  0b00000000,
  0b00000000,
  0b00000000,
  0b00000000,
  0b11111100,
  0b11111100,
  0b00000000,
  0b00000000,
  0b00000000,
  0b00000000,

  /* Character 46 (0x2e):
     width 4
     +-------+
     |       |
     |       |
     |       |
     |       |
     |       |
     |       |
     |       |
     | *     |
     |***    |
     | *     |
     |       |
     +-------+ */
  0b00000000|CHAR7x11_WIDTH_4px,
  0b00000000,
  0b00000000,
  0b00000000,
  0b00000000,
  0b00000000,
  0b00000000,
  0b01000000,
  0b11100000,
  0b01000000,
  0b00000000,

  /* Character 47 (0x2f):
     width 7
     +-------+
     |       |
     |    ** |
     |    ** |
     |   **  |
     |   **  |
     |  **   |
     | **    |
     | **    |
     |**     |
     |**     |
     |       |
     +-------+ */
  0b00000000|CHAR7x11_WIDTH_7px,
  0b00001100,
  0b00001100,
  0b00011000,
  0b00011000,
  0b00110000,
  0b01100000,
  0b01100000,
  0b11000000,
  0b11000000,
  0b00000000,

  /* Character 48 (0x30):
     width 7
     +-------+
     |       |
     | ****  |
     |**  ** |
     |**  ** |
     |** *** |
     |*** ** |
     |**  ** |
     |**  ** |
     |**  ** |
     | ****  |
     |       |
     +-------+ */
  0b00000000|CHAR7x11_WIDTH_7px,
  0b01111000,
  0b11001100,
  0b11001100,
  0b11011100,
  0b11101100,
  0b11001100,
  0b11001100,
  0b11001100,
  0b01111000,
  0b00000000,

  /* Character 49 (0x31):
     width 7
     +-------+
     |       |
     |  **   |
     | ***   |
     |* **   |
     |  **   |
     |  **   |
     |  **   |
     |  **   |
     |  **   |
     |****** |
     |       |
     +-------+ */
  0b00000000|CHAR7x11_WIDTH_7px,
  0b00110000,
  0b01110000,
  0b10110000,
  0b00110000,
  0b00110000,
  0b00110000,
  0b00110000,
  0b00110000,
  0b11111100,
  0b00000000,

  /* Character 50 (0x32):
     width 7
     +-------+
     |       |
     | ****  |
     |**  ** |
     |**  ** |
     |    ** |
     |  ***  |
     | **    |
     |**     |
     |**     |
     |****** |
     |       |
     +-------+ */
  0b00000000|CHAR7x11_WIDTH_7px,
  0b01111000,
  0b11001100,
  0b11001100,
  0b00001100,
  0b00111000,
  0b01100000,
  0b11000000,
  0b11000000,
  0b11111100,
  0b00000000,

  /* Character 51 (0x33):
     width 7
     +-------+
     |       |
     | ****  |
     |**  ** |
     |**  ** |
     |    ** |
     |  ***  |
     |    ** |
     |**  ** |
     |**  ** |
     | ****  |
     |       |
     +-------+ */
  0b00000000|CHAR7x11_WIDTH_7px,
  0b01111000,
  0b11001100,
  0b11001100,
  0b00001100,
  0b00111000,
  0b00001100,
  0b11001100,
  0b11001100,
  0b01111000,
  0b00000000,

  /* Character 52 (0x34):
     width 7
     +-------+
     |       |
     |    ** |
     |   *** |
     |  **** |
     | ** ** |
     |**  ** |
     |**  ** |
     |****** |
     |    ** |
     |    ** |
     |       |
     +-------+ */
  0b00000000|CHAR7x11_WIDTH_7px,
  0b00001100,
  0b00011100,
  0b00111100,
  0b01101100,
  0b11001100,
  0b11001100,
  0b11111100,
  0b00001100,
  0b00001100,
  0b00000000,

  /* Character 53 (0x35):
     width 7
     +-------+
     |       |
     |****** |
     |**     |
     |**     |
     |*****  |
     |**  ** |
     |    ** |
     |    ** |
     |**  ** |
     | ****  |
     |       |
     +-------+ */
  0b00000000|CHAR7x11_WIDTH_7px,
  0b11111100,
  0b11000000,
  0b11000000,
  0b11111000,
  0b11001100,
  0b00001100,
  0b00001100,
  0b11001100,
  0b01111000,
  0b00000000,

  /* Character 54 (0x36):
     width 7
     +-------+
     |       |
     | ****  |
     |**  ** |
     |**     |
     |**     |
     |*****  |
     |**  ** |
     |**  ** |
     |**  ** |
     | ****  |
     |       |
     +-------+ */
  0b00000000|CHAR7x11_WIDTH_7px,
  0b01111000,
  0b11001100,
  0b11000000,
  0b11000000,
  0b11111000,
  0b11001100,
  0b11001100,
  0b11001100,
  0b01111000,
  0b00000000,

  /* Character 55 (0x37):
     width 7
     +-------+
     |       |
     |****** |
     |    ** |
     |    ** |
     |   **  |
     |   **  |
     |  **   |
     |  **   |
     | **    |
     | **    |
     |       |
     +-------+ */
  0b00000000|CHAR7x11_WIDTH_7px,
  0b11111100,
  0b00001100,
  0b00001100,
  0b00011000,
  0b00011000,
  0b00110000,
  0b00110000,
  0b01100000,
  0b01100000,
  0b00000000,

  /* Character 56 (0x38):
     width 7
     +-------+
     |       |
     | ****  |
     |**  ** |
     |**  ** |
     |**  ** |
     | ****  |
     |**  ** |
     |**  ** |
     |**  ** |
     | ****  |
     |       |
     +-------+ */
  0b00000000|CHAR7x11_WIDTH_7px,
  0b01111000,
  0b11001100,
  0b11001100,
  0b11001100,
  0b01111000,
  0b11001100,
  0b11001100,
  0b11001100,
  0b01111000,
  0b00000000,

  /* Character 57 (0x39):
     width 7
     +-------+
     |       |
     | ****  |
     |**  ** |
     |**  ** |
     |**  ** |
     | ***** |
     |    ** |
     |    ** |
     |**  ** |
     | ****  |
     |       |
     +-------+ */
  0b00000000|CHAR7x11_WIDTH_7px,
  0b01111000,
  0b11001100,
  0b11001100,
  0b11001100,
  0b01111100,
  0b00001100,
  0b00001100,
  0b11001100,
  0b01111000,
  0b00000000,

  /* Character 58 (0x3a):
     width 4
     +-------+
     |       |
     |       |
     | *     |
     |***    |
     | *     |
     |       |
     | *     |
     |***    |
     | *     |
     |       |
     |       |
     +-------+ */
  0b00000000|CHAR7x11_WIDTH_4px,
  0b00000000,
  0b01000000,
  0b11100000,
  0b01000000,
  0b00000000,
  0b01000000,
  0b11100000,
  0b01000000,
  0b00000000,
  0b00000000,

  /* Character 59 (0x3b):
     width 4
     +-------+
     |       |
     |       |
     | *     |
     |***    |
     | *     |
     |       |
     | *     |
     |***    |
     | *     |
     |*      |
     |       |
     +-------+ */
  0b00000000|CHAR7x11_WIDTH_4px,
  0b00000000,
  0b01000000,
  0b11100000,
  0b01000000,
  0b00000000,
  0b01000000,
  0b11100000,
  0b01000000,
  0b10000000,
  0b00000000,

  /* Character 60 (0x3c):
     width 7
     +-------+
     |       |
     |    ** |
     |   **  |
     |  **   |
     | **    |
     |**     |
     | **    |
     |  **   |
     |   **  |
     |    ** |
     |       |
     +-------+ */
  0b00000000|CHAR7x11_WIDTH_7px,
  0b00001100,
  0b00011000,
  0b00110000,
  0b01100000,
  0b11000000,
  0b01100000,
  0b00110000,
  0b00011000,
  0b00001100,
  0b00000000,

  /* Character 61 (0x3d):
     width 7
     +-------+
     |       |
     |       |
     |       |
     |       |
     |****** |
     |       |
     |       |
     |****** |
     |       |
     |       |
     |       |
     +-------+ */
  0b00000000|CHAR7x11_WIDTH_7px,
  0b00000000,
  0b00000000,
  0b00000000,
  0b11111100,
  0b00000000,
  0b00000000,
  0b11111100,
  0b00000000,
  0b00000000,
  0b00000000,

  /* Character 62 (0x3e):
     width 7
     +-------+
     |       |
     |**     |
     | **    |
     |  **   |
     |   **  |
     |    ** |
     |   **  |
     |  **   |
     | **    |
     |**     |
     |       |
     +-------+ */
  0b00000000|CHAR7x11_WIDTH_7px,
  0b11000000,
  0b01100000,
  0b00110000,
  0b00011000,
  0b00001100,
  0b00011000,
  0b00110000,
  0b01100000,
  0b11000000,
  0b00000000,

  /* Character 63 (0x3f):
     width 7
     +-------+
     |       |
     | ****  |
     |**  ** |
     |**  ** |
     |    ** |
     |   **  |
     |  **   |
     |       |
     |  **   |
     |  **   |
     |       |
     +-------+ */
  0b00000000|CHAR7x11_WIDTH_7px,
  0b01111000,
  0b11001100,
  0b11001100,
  0b00001100,
  0b00011000,
  0b00110000,
  0b00000000,
  0b00110000,
  0b00110000,
  0b00000000,

  /* Character 64 (0x40):
     width 7
     +-------+
     |       |
     | ****  |
     |*   ** |
     |*   ** |
     |* **** |
     |* * ** |
     |* ***  |
     |*      |
     |*   ** |
     | ****  |
     |       |
     +-------+ */
  0b00000000|CHAR7x11_WIDTH_7px,
  0b01111000,
  0b10001100,
  0b10001100,
  0b10111100,
  0b10101100,
  0b10111000,
  0b10000000,
  0b10001100,
  0b01111000,
  0b00000000,

  /* Character 65 (0x41):
     width 7
     +-------+
     |       |
     | ****  |
     |**  ** |
     |**  ** |
     |**  ** |
     |****** |
     |**  ** |
     |**  ** |
     |**  ** |
     |**  ** |
     |       |
     +-------+ */
  0b00000000|CHAR7x11_WIDTH_7px,
  0b01111000,
  0b11001100,
  0b11001100,
  0b11001100,
  0b11111100,
  0b11001100,
  0b11001100,
  0b11001100,
  0b11001100,
  0b00000000,

  /* Character 66 (0x42):
     width 7
     +-------+
     |       |
     |*****  |
     |**  ** |
     |**  ** |
     |**  ** |
     |*****  |
     |**  ** |
     |**  ** |
     |**  ** |
     |*****  |
     |       |
     +-------+ */
  0b00000000|CHAR7x11_WIDTH_7px,
  0b11111000,
  0b11001100,
  0b11001100,
  0b11001100,
  0b11111000,
  0b11001100,
  0b11001100,
  0b11001100,
  0b11111000,
  0b00000000,

  /* Character 67 (0x43):
     width 7
     +-------+
     |       |
     | ****  |
     |**  ** |
     |**  ** |
     |**     |
     |**     |
     |**     |
     |**  ** |
     |**  ** |
     | ****  |
     |       |
     +-------+ */
  0b00000000|CHAR7x11_WIDTH_7px,
  0b01111000,
  0b11001100,
  0b11001100,
  0b11000000,
  0b11000000,
  0b11000000,
  0b11001100,
  0b11001100,
  0b01111000,
  0b00000000,

  /* Character 68 (0x44):
     width 7
     +-------+
     |       |
     |*****  |
     |**  ** |
     |**  ** |
     |**  ** |
     |**  ** |
     |**  ** |
     |**  ** |
     |**  ** |
     |*****  |
     |       |
     +-------+ */
  0b00000000|CHAR7x11_WIDTH_7px,
  0b11111000,
  0b11001100,
  0b11001100,
  0b11001100,
  0b11001100,
  0b11001100,
  0b11001100,
  0b11001100,
  0b11111000,
  0b00000000,

  /* Character 69 (0x45):
     width 7
     +-------+
     |       |
     |****** |
     |**     |
     |**     |
     |**     |
     |*****  |
     |**     |
     |**     |
     |**     |
     |****** |
     |       |
     +-------+ */
  0b00000000|CHAR7x11_WIDTH_7px,
  0b11111100,
  0b11000000,
  0b11000000,
  0b11000000,
  0b11111000,
  0b11000000,
  0b11000000,
  0b11000000,
  0b11111100,
  0b00000000,

  /* Character 70 (0x46):
     width 7
     +-------+
     |       |
     |****** |
     |**     |
     |**     |
     |**     |
     |*****  |
     |**     |
     |**     |
     |**     |
     |**     |
     |       |
     +-------+ */
  0b00000000|CHAR7x11_WIDTH_7px,
  0b11111100,
  0b11000000,
  0b11000000,
  0b11000000,
  0b11111000,
  0b11000000,
  0b11000000,
  0b11000000,
  0b11000000,
  0b00000000,

  /* Character 71 (0x47):
     width 7
     +-------+
     |       |
     | ****  |
     |**  ** |
     |**  ** |
     |**     |
     |**     |
     |** *** |
     |**  ** |
     |** *** |
     | ** ** |
     |       |
     +-------+ */
  0b00000000|CHAR7x11_WIDTH_7px,
  0b01111000,
  0b11001100,
  0b11001100,
  0b11000000,
  0b11000000,
  0b11011100,
  0b11001100,
  0b11011100,
  0b01101100,
  0b00000000,

  /* Character 72 (0x48):
     width 7
     +-------+
     |       |
     |**  ** |
     |**  ** |
     |**  ** |
     |**  ** |
     |****** |
     |**  ** |
     |**  ** |
     |**  ** |
     |**  ** |
     |       |
     +-------+ */
  0b00000000|CHAR7x11_WIDTH_7px,
  0b11001100,
  0b11001100,
  0b11001100,
  0b11001100,
  0b11111100,
  0b11001100,
  0b11001100,
  0b11001100,
  0b11001100,
  0b00000000,

  /* Character 73 (0x49):
     width 5
     +-------+
     |       |
     |****   |
     | **    |
     | **    |
     | **    |
     | **    |
     | **    |
     | **    |
     | **    |
     |****   |
     |       |
     +-------+ */
  0b00000000|CHAR7x11_WIDTH_5px,
  0b11110000,
  0b01100000,
  0b01100000,
  0b01100000,
  0b01100000,
  0b01100000,
  0b01100000,
  0b01100000,
  0b11110000,
  0b00000000,

  /* Character 74 (0x4a):
     width 7
     +-------+
     |       |
     |    ** |
     |    ** |
     |    ** |
     |    ** |
     |    ** |
     |    ** |
     |    ** |
     |**  ** |
     | ****  |
     |       |
     +-------+ */
  0b00000000|CHAR7x11_WIDTH_7px,
  0b00001100,
  0b00001100,
  0b00001100,
  0b00001100,
  0b00001100,
  0b00001100,
  0b00001100,
  0b11001100,
  0b01111000,
  0b00000000,

  /* Character 75 (0x4b):
     width 7
     +-------+
     |       |
     |**  ** |
     |**  ** |
     |**  ** |
     |** **  |
     |****   |
     |** **  |
     |**  ** |
     |**  ** |
     |**  ** |
     |       |
     +-------+ */
  0b00000000|CHAR7x11_WIDTH_7px,
  0b11001100,
  0b11001100,
  0b11001100,
  0b11011000,
  0b11110000,
  0b11011000,
  0b11001100,
  0b11001100,
  0b11001100,
  0b00000000,

  /* Character 76 (0x4c):
     width 7
     +-------+
     |       |
     |**     |
     |**     |
     |**     |
     |**     |
     |**     |
     |**     |
     |**     |
     |**     |
     |****** |
     |       |
     +-------+ */
  0b00000000|CHAR7x11_WIDTH_7px,
  0b11000000,
  0b11000000,
  0b11000000,
  0b11000000,
  0b11000000,
  0b11000000,
  0b11000000,
  0b11000000,
  0b11111100,
  0b00000000,

  /* Character 77 (0x4d):
     width 8
     +-------+
     |       |
     |**   **|
     |**   **|
     |*** ***|
     |*** ***|
     |** * **|
     |** * **|
     |** * **|
     |**   **|
     |**   **|
     |       |
     +-------+ */
  0b00000000|CHAR7x11_WIDTH_8px,
  0b11000110,
  0b11000110,
  0b11101110,
  0b11101110,
  0b11010110,
  0b11010110,
  0b11010110,
  0b11000110,
  0b11000110,
  0b00000000,

  /* Character 78 (0x4e):
     width 7
     +-------+
     |       |
     |**  ** |
     |**  ** |
     |*** ** |
     |*** ** |
     |****** |
     |** *** |
     |** *** |
     |**  ** |
     |**  ** |
     |       |
     +-------+ */
  0b00000000|CHAR7x11_WIDTH_7px,
  0b11001100,
  0b11001100,
  0b11101100,
  0b11101100,
  0b11111100,
  0b11011100,
  0b11011100,
  0b11001100,
  0b11001100,
  0b00000000,

  /* Character 79 (0x4f):
     width 7
     +-------+
     |       |
     | ****  |
     |**  ** |
     |**  ** |
     |**  ** |
     |**  ** |
     |**  ** |
     |**  ** |
     |**  ** |
     | ****  |
     |       |
     +-------+ */
  0b00000000|CHAR7x11_WIDTH_7px,
  0b01111000,
  0b11001100,
  0b11001100,
  0b11001100,
  0b11001100,
  0b11001100,
  0b11001100,
  0b11001100,
  0b01111000,
  0b00000000,

  /* Character 80 (0x50):
     width 7
     +-------+
     |       |
     |*****  |
     |**  ** |
     |**  ** |
     |**  ** |
     |*****  |
     |**     |
     |**     |
     |**     |
     |**     |
     |       |
     +-------+ */
  0b00000000|CHAR7x11_WIDTH_7px,
  0b11111000,
  0b11001100,
  0b11001100,
  0b11001100,
  0b11111000,
  0b11000000,
  0b11000000,
  0b11000000,
  0b11000000,
  0b00000000,

  /* Character 81 (0x51):
     width 7
     +-------+
     |       |
     | ****  |
     |**  ** |
     |**  ** |
     |**  ** |
     |**  ** |
     |**  ** |
     |*** ** |
     |** *** |
     | ****  |
     |    ** |
     +-------+ */
  0b00000000|CHAR7x11_WIDTH_7px,
  0b01111000,
  0b11001100,
  0b11001100,
  0b11001100,
  0b11001100,
  0b11001100,
  0b11101100,
  0b11011100,
  0b01111000,
  0b00001100,

  /* Character 82 (0x52):
     width 7
     +-------+
     |       |
     |*****  |
     |**  ** |
     |**  ** |
     |**  ** |
     |*****  |
     |** **  |
     |**  ** |
     |**  ** |
     |**  ** |
     |       |
     +-------+ */
  0b00000000|CHAR7x11_WIDTH_7px,
  0b11111000,
  0b11001100,
  0b11001100,
  0b11001100,
  0b11111000,
  0b11011000,
  0b11001100,
  0b11001100,
  0b11001100,
  0b00000000,

  /* Character 83 (0x53):
     width 7
     +-------+
     |       |
     | ****  |
     |**  ** |
     |**  ** |
     | **    |
     |  **   |
     |   **  |
     |**  ** |
     |**  ** |
     | ****  |
     |       |
     +-------+ */
  0b00000000|CHAR7x11_WIDTH_7px,
  0b01111000,
  0b11001100,
  0b11001100,
  0b01100000,
  0b00110000,
  0b00011000,
  0b11001100,
  0b11001100,
  0b01111000,
  0b00000000,

  /* Character 84 (0x54):
     width 7
     +-------+
     |       |
     |****** |
     |* ** * |
     |  **   |
     |  **   |
     |  **   |
     |  **   |
     |  **   |
     |  **   |
     |  **   |
     |       |
     +-------+ */
  0b00000000|CHAR7x11_WIDTH_7px,
  0b11111100,
  0b10110100,
  0b00110000,
  0b00110000,
  0b00110000,
  0b00110000,
  0b00110000,
  0b00110000,
  0b00110000,
  0b00000000,

  /* Character 85 (0x55):
     width 7
     +-------+
     |       |
     |**  ** |
     |**  ** |
     |**  ** |
     |**  ** |
     |**  ** |
     |**  ** |
     |**  ** |
     |**  ** |
     | ****  |
     |       |
     +-------+ */
  0b00000000|CHAR7x11_WIDTH_7px,
  0b11001100,
  0b11001100,
  0b11001100,
  0b11001100,
  0b11001100,
  0b11001100,
  0b11001100,
  0b11001100,
  0b01111000,
  0b00000000,

  /* Character 86 (0x56):
     width 8
     +-------+
     |       |
     |**   **|
     |**   **|
     |**   **|
     | ** ** |
     | ** ** |
     | ** ** |
     |  ***  |
     |  ***  |
     |   *   |
     |       |
     +-------+ */
  0b00000000|CHAR7x11_WIDTH_8px,
  0b11000110,
  0b11000110,
  0b11000110,
  0b01101100,
  0b01101100,
  0b01101100,
  0b00111000,
  0b00111000,
  0b00010000,
  0b00000000,

  /* Character 87 (0x57):
     width 7
     +-------+
     |       |
     |**   **|
     |**   **|
     |** * **|
     |** * **|
     |** * **|
     |** * **|
     |*******|
     |*******|
     | ** ** |
     |       |
     +-------+ */
  0b00000000|CHAR7x11_WIDTH_8px,
  0b11000110,
  0b11000110,
  0b11000110,
  0b11010110,
  0b11010110,
  0b11010110,
  0b11010110,
  0b11111110,
  0b01101100,
  0b00000000,

  /* Character 88 (0x58):
     width 7
     +-------+
     |       |
     |**  ** |
     |**  ** |
     |**  ** |
     | *  *  |
     |  **   |
     | *  *  |
     |**  ** |
     |**  ** |
     |**  ** |
     |       |
     +-------+ */
  0b00000000|CHAR7x11_WIDTH_7px,
  0b11001100,
  0b11001100,
  0b11001100,
  0b01001000,
  0b00110000,
  0b01001000,
  0b11001100,
  0b11001100,
  0b11001100,
  0b00000000,

  /* Character 89 (0x59):Y
     width 7
     +-------+
     |       |
     |**  ** |
     |**  ** |
     |**  ** |
     |**  ** |
     | ****  |
     |  **   |
     |  **   |
     |  **   |
     |  **   |
     |       |
     +-------+ */
  0b00000000|CHAR7x11_WIDTH_7px,
  0b11001100,
  0b11001100,
  0b11001100,
  0b11001100,
  0b01111000,
  0b00110000,
  0b00110000,
  0b00110000,
  0b00110000,
  0b00000000,

  /* Character 90 (0x5a):
     width 7
     +-------+
     |       |
     |****** |
     |    ** |
     |    ** |
     |   **  |
     |  **   |
     | **    |
     |**     |
     |**     |
     |****** |
     |       |
     +-------+ */
  0b00000000|CHAR7x11_WIDTH_7px,
  0b11111100,
  0b00001100,
  0b00001100,
  0b00011000,
  0b00110000,
  0b01100000,
  0b11000000,
  0b11000000,
  0b11111100,
  0b00000000,

  /* Character 91 (0x5b):
     width 5
     +-------+
     |       |
     | ****  |
     | **    |
     | **    |
     | **    |
     | **    |
     | **    |
     | **    |
     | **    |
     | ****  |
     |       |
     +-------+ */
  0b00000000|CHAR7x11_WIDTH_5px,
  0b11110000,
  0b11000000,
  0b11000000,
  0b11000000,
  0b11000000,
  0b11000000,
  0b11000000,
  0b11000000,
  0b11110000,
  0b00000000,

  /* Character 92 (0x5c):
     width 7
     +-------+
     |       |
     |**     |
     |**     |
     | **    |
     | **    |
     |  **   |
     |   **  |
     |   **  |
     |    ** |
     |    ** |
     |       |
     +-------+ */
  0b00000000|CHAR7x11_WIDTH_7px,
  0b11000000,
  0b11000000,
  0b01100000,
  0b01100000,
  0b00110000,
  0b00011000,
  0b00011000,
  0b00001100,
  0b00001100,
  0b00000000,

  /* Character 93 (0x5d):
     width 5
     +-------+
     |       |
     |****   |
     |  **   |
     |  **   |
     |  **   |
     |  **   |
     |  **   |
     |  **   |
     |  **   |
     |****   |
     |       |
     +-------+ */
  0b00000000|CHAR7x11_WIDTH_5px,
  0b11110000,
  0b00110000,
  0b00110000,
  0b00110000,
  0b00110000,
  0b00110000,
  0b00110000,
  0b00110000,
  0b11110000,
  0b00000000,

  /* Character 94 (0x5e):
     width 7
     +-------+
     |       |
     |  **   |
     | ****  |
     |**  ** |
     |*    * |
     |       |
     |       |
     |       |
     |       |
     |       |
     |       |
     +-------+ */
  0b00000000|CHAR7x11_WIDTH_7px,
  0b00110000,
  0b01111000,
  0b11001100,
  0b10000100,
  0b00000000,
  0b00000000,
  0b00000000,
  0b00000000,
  0b00000000,
  0b00000000,

  /* Character 95 (0x5f):
     width 7
     +-------+
     |       |
     |       |
     |       |
     |       |
     |       |
     |       |
     |       |
     |       |
     |       |
     |****** |
     |****** |
     +-------+ */
  0b00000000|CHAR7x11_WIDTH_7px,
  0b00000000,
  0b00000000,
  0b00000000,
  0b00000000,
  0b00000000,
  0b00000000,
  0b00000000,
  0b00000000,
  0b11111100,
  0b11111100,

  /* Character 96 (0x60):
     width 5
     +-------+
     |       |
     |**     |
     | **    |
     |  **   |
     |       |
     |       |
     |       |
     |       |
     |       |
     |       |
     |       |
     +-------+ */
  0b00000000|CHAR7x11_WIDTH_5px,
  0b11000000,
  0b01100000,
  0b00110000,
  0b00000000,
  0b00000000,
  0b00000000,
  0b00000000,
  0b00000000,
  0b00000000,
  0b00000000,

  /* Character 97 (0x61):
     width 7
     +-------+
     |       |
     |       |
     |       |
     |       |
     | ****  |
     |    ** |
     | ***** |
     |**  ** |
     |**  ** |
     | ***** |
     |       |
     +-------+ */
  0b00000000|CHAR7x11_WIDTH_7px,
  0b00000000,
  0b00000000,
  0b00000000,
  0b01111000,
  0b00001100,
  0b01111100,
  0b11001100,
  0b11001100,
  0b01111100,
  0b00000000,

  /* Character 98 (0x62):
     width 7
     +-------+
     |       |
     |**     |
     |**     |
     |**     |
     |** **  |
     |*** ** |
     |**  ** |
     |**  ** |
     |*** ** |
     |** **  |
     |       |
     +-------+ */
  0b00000000|CHAR7x11_WIDTH_7px,
  0b11000000,
  0b11000000,
  0b11000000,
  0b11011000,
  0b11101100,
  0b11001100,
  0b11001100,
  0b11101100,
  0b11011000,
  0b00000000,

  /* Character 99 (0x63):
     width 7
     +-------+
     |       |
     |       |
     |       |
     |       |
     | ****  |
     |**  ** |
     |**     |
     |**     |
     |**  ** |
     | ****  |
     |       |
     +-------+ */
  0b00000000|CHAR7x11_WIDTH_7px,
  0b00000000,
  0b00000000,
  0b00000000,
  0b01111000,
  0b11001100,
  0b11000000,
  0b11000000,
  0b11001100,
  0b01111000,
  0b00000000,

  /* Character 100 (0x64):
     width 7
     +-------+
     |       |
     |    ** |
     |    ** |
     |    ** |
     | ** ** |
     |** *** |
     |**  ** |
     |**  ** |
     |** *** |
     | ** ** |
     |       |
     +-------+ */
  0b00000000|CHAR7x11_WIDTH_7px,
  0b00001100,
  0b00001100,
  0b00001100,
  0b01101100,
  0b11011100,
  0b11001100,
  0b11001100,
  0b11011100,
  0b01101100,
  0b00000000,

  /* Character 101 (0x65):
     width 7
     +-------+
     |       |
     |       |
     |       |
     |       |
     | ****  |
     |**  ** |
     |****** |
     |**     |
     |**  ** |
     | ****  |
     |       |
     +-------+ */
  0b00000000|CHAR7x11_WIDTH_7px,
  0b00000000,
  0b00000000,
  0b00000000,
  0b01111000,
  0b11001100,
  0b11111100,
  0b11000000,
  0b11001100,
  0b01111000,
  0b00000000,

  /* Character 102 (0x66):
     width 7
     +-------+
     |       |
     |  ***  |
     | ** ** |
     | **    |
     | **    |
     |****   |
     | **    |
     | **    |
     | **    |
     | **    |
     |       |
     +-------+ */
  0b00000000|CHAR7x11_WIDTH_7px,
  0b00111000,
  0b01101100,
  0b01100000,
  0b01100000,
  0b11110000,
  0b01100000,
  0b01100000,
  0b01100000,
  0b01100000,
  0b00000000,

  /* Character 103 (0x67):g
     width 7
     +-------+
     |       |
     |       |
     |       |
     |       |
     | *** * |
     |**  ** |
     |**  ** |
     |**  ** |
     | ***** |
     |    ** |
     | ****  |
     +-------+ */
  0b00000000|CHAR7x11_WIDTH_7px,
  0b00000000,
  0b00000000,
  0b00000000,
  0b01110100,
  0b11001100,
  0b11001100,
  0b11001100,
  0b01111100,
  0b00001100,
  0b01111000,

  /* Character 104 (0x68):
     width 7
     +-------+
     |       |
     |**     |
     |**     |
     |**     |
     |** **  |
     |*** ** |
     |**  ** |
     |**  ** |
     |**  ** |
     |**  ** |
     |       |
     +-------+ */
  0b00000000|CHAR7x11_WIDTH_7px,
  0b11000000,
  0b11000000,
  0b11000000,
  0b11011000,
  0b11101100,
  0b11001100,
  0b11001100,
  0b11001100,
  0b11001100,
  0b00000000,

  /* Character 105 (0x69):
     width 7
     +-------+
     |       |
     | **    |
     | **    |
     |       |
     |***    |
     | **    |
     | **    |
     | **    |
     | **    |
     |****   |
     |       |
     +-------+ */
  0b00000000|CHAR7x11_WIDTH_5px,
  0b01100000,
  0b01100000,
  0b00000000,
  0b11100000,
  0b01100000,
  0b01100000,
  0b01100000,
  0b01100000,
  0b11110000,
  0b00000000,

  /* Character 106 (0x6a):
     width 7
     +-------+
     |       |
     |    ** |
     |    ** |
     |       |
     |    ** |
     |    ** |
     |    ** |
     |    ** |
     |    ** |
     |**  ** |
     | ****  |
     +-------+ */
  0b00000000|CHAR7x11_WIDTH_7px,
  0b00001100,
  0b00001100,
  0b00000000,
  0b00001100,
  0b00001100,
  0b00001100,
  0b00001100,
  0b00001100,
  0b11001100,
  0b01111000,

  /* Character 107 (0x6b):
     width 7
     +-------+
     |       |
     |**     |
     |**     |
     |**     |
     |**  ** |
     |** **  |
     |****   |
     |****   |
     |** **  |
     |**  ** |
     |       |
     +-------+ */
  0b00000000|CHAR7x11_WIDTH_7px,
  0b11000000,
  0b11000000,
  0b11000000,
  0b11001100,
  0b11011000,
  0b11110000,
  0b11110000,
  0b11011000,
  0b11001100,
  0b00000000,

  /* Character 108 (0x6c):
     width 7
     +-------+
     |       |
     | ***   |
     |  **   |
     |  **   |
     |  **   |
     |  **   |
     |  **   |
     |  **   |
     |  **   |
     |****** |
     |       |
     +-------+ */
  0b00000000|CHAR7x11_WIDTH_7px,
  0b01110000,
  0b00110000,
  0b00110000,
  0b00110000,
  0b00110000,
  0b00110000,
  0b00110000,
  0b00110000,
  0b11111100,
  0b00000000,

  /* Character 109 (0x6d):
     width 7
     +-------+
     |       |
     |       |
     |       |
     |       |
     |*** ** |
     |*******|
     |** * **|
     |** * **|
     |** * **|
     |** * **|
     |       |
     +-------+ */
  0b00000000|CHAR7x11_WIDTH_8px,
  0b00000000,
  0b00000000,
  0b00000000,
  0b11101100,
  0b11111110,
  0b11010110,
  0b11010110,
  0b11010110,
  0b11010110,
  0b00000000,

  /* Character 110 (0x6e):
     width 7
     +-------+
     |       |
     |       |
     |       |
     |       |
     |** **  |
     |*** ** |
     |**  ** |
     |**  ** |
     |**  ** |
     |**  ** |
     |       |
     +-------+ */
  0b00000000|CHAR7x11_WIDTH_7px,
  0b00000000,
  0b00000000,
  0b00000000,
  0b11011000,
  0b11101100,
  0b11001100,
  0b11001100,
  0b11001100,
  0b11001100,
  0b00000000,

  /* Character 111 (0x6f):
     width 7
     +-------+
     |       |
     |       |
     |       |
     |       |
     | ****  |
     |**  ** |
     |**  ** |
     |**  ** |
     |**  ** |
     | ****  |
     |       |
     +-------+ */
  0b00000000|CHAR7x11_WIDTH_7px,
  0b00000000,
  0b00000000,
  0b00000000,
  0b01111000,
  0b11001100,
  0b11001100,
  0b11001100,
  0b11001100,
  0b01111000,
  0b00000000,

  /* Character 112 (0x70):
     width 7
     +-------+
     |       |
     |       |
     |       |
     |       |
     |** **  |
     |*** ** |
     |**  ** |
     |**  ** |
     |*****  |
     |**     |
     |**     |
     +-------+ */
  0b00000000|CHAR7x11_WIDTH_7px,
  0b00000000,
  0b00000000,
  0b00000000,
  0b11011000,
  0b11101100,
  0b11001100,
  0b11001100,
  0b11111000,
  0b11000000,
  0b11000000,

  /* Character 113 (0x71):
     width 7
     +-------+
     |       |
     |       |
     |       |
     |       |
     | ** ** |
     |** *** |
     |**  ** |
     |**  ** |
     | ***** |
     |    ** |
     |    ** |
     +-------+ */
  0b00000000|CHAR7x11_WIDTH_7px,
  0b00000000,
  0b00000000,
  0b00000000,
  0b01101100,
  0b11011100,
  0b11001100,
  0b11001100,
  0b01111100,
  0b00001100,
  0b00001100,

  /* Character 114 (0x72):
     width 7
     +-------+
     |       |
     |       |
     |       |
     |       |
     |* ***  |
     |*** ** |
     |**     |
     |**     |
     |**     |
     |**     |
     |       |
     +-------+ */
  0b00000000|CHAR7x11_WIDTH_7px,
  0b00000000,
  0b00000000,
  0b00000000,
  0b11011000,
  0b11101100,
  0b11000000,
  0b11000000,
  0b11000000,
  0b11000000,
  0b00000000,

  /* Character 115 (0x73):
     width 7
     +-------+
     |       |
     |       |
     |       |
     |       |
     | ****  |
     |**  ** |
     | **    |
     |   **  |
     |**  ** |
     | ****  |
     |       |
     +-------+ */
  0b00000000|CHAR7x11_WIDTH_7px,
  0b00000000,
  0b00000000,
  0b00000000,
  0b01111000,
  0b11001100,
  0b01100000,
  0b00011000,
  0b11001100,
  0b01111000,
  0b00000000,

  /* Character 116 (0x74):
     width 7
     +-------+
     |       |
     |       |
     | **    |
     | **    |
     |*****  |
     | **    |
     | **    |
     | **    |
     | ** ** |
     |  ***  |
     |       |
     +-------+ */
  0b00000000|CHAR7x11_WIDTH_7px,
  0b00000000,
  0b01100000,
  0b01100000,
  0b11111000,
  0b01100000,
  0b01100000,
  0b01100000,
  0b01101100,
  0b00111000,
  0b00000000,

  /* Character 117 (0x75):
     width 7
     +-------+
     |       |
     |       |
     |       |
     |       |
     |**  ** |
     |**  ** |
     |**  ** |
     |**  ** |
     |** *** |
     | ** ** |
     |       |
     +-------+ */
  0b00000000|CHAR7x11_WIDTH_7px,
  0b00000000,
  0b00000000,
  0b00000000,
  0b11001100,
  0b11001100,
  0b11001100,
  0b11001100,
  0b11011100,
  0b01101100,
  0b00000000,

  /* Character 118 (0x76):
     width 7
     +-------+
     |       |
     |       |
     |       |
     |       |
     |**  ** |
     |**  ** |
     | *  *  |
     | *  *  |
     |  **   |
     |  **   |
     |       |
     +-------+ */
  0b00000000|CHAR7x11_WIDTH_7px,
  0b00000000,
  0b00000000,
  0b00000000,
  0b11001100,
  0b11001100,
  0b01001000,
  0b01001000,
  0b00110000,
  0b00110000,
  0b00000000,

  /* Character 119 (0x77):
     width 7
     +-------+
     |       |
     |       |
     |       |
     |       |
     |**   **|
     |**   **|
     |** * **|
     |** * **|
     |*******|
     | ** ** |
     |       |
     +-------+ */
  0b00000000|CHAR7x11_WIDTH_8px,
  0b00000000,
  0b00000000,
  0b00000000,
  0b11000110,
  0b11000110,
  0b11010110,
  0b11010110,
  0b11111110,
  0b01101100,
  0b00000000,

  /* Character 120 (0x78):
     width 7
     +-------+
     |       |
     |       |
     |       |
     |       |
     |**  ** |
     | *  *  |
     |  **   |
     |  **   |
     | *  *  |
     |**  ** |
     |       |
     +-------+ */
  0b00000000|CHAR7x11_WIDTH_7px,
  0b00000000,
  0b00000000,
  0b00000000,
  0b11001100,
  0b01001000,
  0b00110000,
  0b00110000,
  0b01001000,
  0b11001100,
  0b00000000,

  /* Character 121 (0x79):
     width 7
     +-------+
     |       |
     |       |
     |       |
     |       |
     |**  ** |
     |**  ** |
     |**  ** |
     | ***** |
     |    ** |
     |**  ** |
     | ****  |
     +-------+ */
  0b00000000|CHAR7x11_WIDTH_7px,
  0b00000000,
  0b00000000,
  0b00000000,
  0b11001100,
  0b11001100,
  0b11001100,
  0b01111100,
  0b00001100,
  0b11001100,
  0b01111000,

  /* Character 122 (0x7a):
     width 7
     +-------+
     |       |
     |       |
     |       |
     |       |
     |****** |
     |    ** |
     |   **  |
     | **    |
     |**     |
     |****** |
     |       |
     +-------+ */
  0b00000000|CHAR7x11_WIDTH_7px,
  0b00000000,
  0b00000000,
  0b00000000,
  0b11111100,
  0b00001100,
  0b00011000,
  0b01100000,
  0b11000000,
  0b11111100,
  0b00000000,

  /* Character 123 (0x7b):
     width 6
     +-------+
     |       |
     |  ***  |
     | **    |
     | **    |
     | **    |
     |**     |
     | **    |
     | **    |
     | **    |
     |  ***  |
     |       |
     +-------+ */
  0b00000000|CHAR7x11_WIDTH_6px,
  0b00111000,
  0b01100000,
  0b01100000,
  0b01100000,
  0b11000000,
  0b01100000,
  0b01100000,
  0b01100000,
  0b00111000,
  0b00000000,

  /* Character 124 (0x7c):
     width 5
     +-------+
     |       |
     |  **   |
     |  **   |
     |  **   |
     |  **   |
     |  **   |
     |  **   |
     |  **   |
     |  **   |
     |  **   |
     |       |
     +-------+ */
  0b00000000|CHAR7x11_WIDTH_5px,
  0b01100000,
  0b01100000,
  0b01100000,
  0b01100000,
  0b01100000,
  0b01100000,
  0b01100000,
  0b01100000,
  0b01100000,
  0b00000000,

  /* Character 125 (0x7d):
     width 6
     +-------+
     |       |
     |***    |
     |  **   |
     |  **   |
     |  **   |
     |   **  |
     |  **   |
     |  **   |
     |  **   |
     |***    |
     |       |
     +-------+ */
  0b00000000|CHAR7x11_WIDTH_6px,
  0b11100000,
  0b00110000,
  0b00110000,
  0b00110000,
  0b00011000,
  0b00110000,
  0b00110000,
  0b00110000,
  0b11100000,
  0b00000000,

  /* Character 126 (0x7e):
     width 7
     +-------+
     |       |
     | **  * |
     |****** |
     |*  **  |
     |       |
     |       |
     |       |
     |       |
     |       |
     |       |
     |       |
     +-------+ */
  0b00000000|CHAR7x11_WIDTH_7px,
  0b01100100,
  0b11111100,
  0b10011000,
  0b00000000,
  0b00000000,
  0b00000000,
  0b00000000,
  0b00000000,
  0b00000000,
  0b00000000,
};
